#ifndef _MPMM_TYPE_DEFINE_H
#define _MPMM_TYPE_DEFINE_H

typedef struct {
	long data3;
	long data2;
	long data1;
	long data0;
} Data256Bits;


typedef struct {
	bool is_ld;
	bool is_st;
	long ls_address;
	Data256Bits ls_data;
	//...
} LsPackData;

typedef int IntrData;
typedef struct {
	bool first;
	bool fuse;
	long rcx;
	//...
} RetiredInst;

typedef struct {
	int core_id;
	bool Lock;
	bool Abort;
	bool Commit;
	bool Thread;
	int cpus;
	LsPackData lspackdata[8];
	IntrData intr_data[8];
	RetiredInst adv_steps[8];
} MpmmData;

#endif
